package com.gzz.manage.base.customer;

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.gzz.common.base.Page;
import javax.servlet.http.HttpServletResponse;
import com.gzz.common.tools.SysTools;
import java.io.IOException;
import org.springframework.web.multipart.MultipartFile;

/**
 * @类说明 【客户信息】业务逻辑层
 * @author 高振中
 * @date 2021-03-21 11:03:35
 **/
//@Slf4j
@Service
public class CustomerService {

	@Autowired
	private CustomerDao customerDao; // 注入【客户信息】数据访问层

	/**
	 * @方法说明 【客户信息】新增
	 */
	// @Transactional
	public int save(Customer customer) {
		return customerDao.save(customer);
	}

	/**
	 * @方法说明 【客户信息】删除
	 */
	public int delete(Object[] ids) {
		return customerDao.delete(ids);
	}

	/**
	 * @方法说明 【客户信息】修改
	 */
	public int update(Customer customer) {
		return customerDao.update(customer);
	}

	/**
	 * @方法说明 【客户信息】分页列表
	 */
	public Page<Customer> page(CustomerCond cond) {
		return customerDao.page(cond);
	}

	/**
	 * @方法说明 【客户信息】列表
	 */
	public List<Customer> list(CustomerCond cond) {
		return customerDao.list(cond);
	}

	/**
	 * @方法说明 【客户信息】按主键查
	 */
	public Customer findById(Integer id) {
		return customerDao.findById(id);
	}

	/**
	 * @方法说明 【客户信息】个数
	 */
	public int count(CustomerCond cond) {
		return customerDao.count(cond);
	}

	/**
	 * @方法说明 【客户信息】导出
	 */
	public void export(CustomerCond cond, HttpServletResponse response) throws IOException {
		List<Customer> list = customerDao.list(Customer.class, cond);
		SysTools.write(response, CustomerExcel.bookFile(list));
	}

	/**
	 * @方法说明 【客户信息】导入
	 */
	public void importExcel(MultipartFile file) throws IOException {
		customerDao.saveBatch(Customer.class, CustomerExcel.list(file));
	}
}